NEURON software + Pythonで簡単なコンパートメントモデルを作る
A Simplifed Introduction to the NEURON Simulator —NEURON を使い回す— 第 3 版 (Python 版) SomaとDendriteのみの単純なモデル
code:python
# -*- coding: utf-8 -*-
from neuron import h
import neuron
import numpy as np
import matplotlib.pyplot as plt
soma = h.Section()
soma.diam = 30.0
soma.L = 30.0
soma.insert("hh")
ap_dend = h.Section()
ap_dend.L = 500.0
ap_dend.diam = 2
ap_dend.nseg = 23
ap_dend.connect(soma, 1.0, 0)
syn = h.AlphaSynapse(0.5, sec=ap_dend)
syn.onset = 5.0
syn.tau = 0.1
syn.gmax = 0.05
cvode = h.CVode()
cvode.active(1)
cvode.atol(1.0e-5)
vv = h.Vector()
vv2 = h.Vector()
vv3 = h.Vector()
tv = h.Vector()
vv.record(soma(0.5)._ref_v)
vv2.record(ap_dend(0.3)._ref_v)
vv3.record(ap_dend(1.0)._ref_v)
tv.record(h._ref_t)
tstop = 20
dt = 0.01
v_init = -65.0
h.finitialize(v_init)
h.fcurrent()
neuron.run(tstop)
T = tv.as_numpy()
V_soma = vv.as_numpy()
V_ap_dend1 = vv2.as_numpy()
V_ap_dend2 = vv3.as_numpy()
ax = plt.subplot()
ax.plot(T, V_soma)
ax.plot(T, V_ap_dend1)
ax.plot(T, V_ap_dend2)
plt.show()